/**
 * Created by mac on 2017/12/21.
 */
import {connect} from 'react-redux'
import Counter from '../component/Counter'
import {increment, descrement, reset} from '../actions/counter'
import * as counterActions from '../actions/counter'
import {bindActionCreators} from 'redux';


const mapStateToProps = (state) => {
    // 这里的这个count 对应在组件中通过this.props.count拿到 就可以显示其状态了
    return {
        /*这里是因为使用了 combineReducers  这个来合并多个reducer 所以必须通过key来取里面你的props*/
        count: state.counter.count
    }
}
// const mapDispatchToProps = (dispatch) => {
//     // 这里定义的三个函数 在对应的组件中通过this.props拿到 则可以使用dispatch发出这个action 来达到更新ui的动作
//     return {
//         inc: () => dispatch(increment()),
//         des: () => dispatch(descrement()),
//         res: () => dispatch(reset()),
//     }
// }
const mapDispatchToProps = (dispatch) => {
    // 使用redux提供的bindActionCreators方法 则可以在对应的组件中
    // 通过key  counterActions 来发出对应的action 而不用重新命名了
    return {
        counterActions: bindActionCreators(counterActions, dispatch)
    }
}

export default connect(mapStateToProps, mapDispatchToProps)(Counter)
